In software testing, canary testing refers to utilizing programming code changes with a small group of end users. Because the canary is only distributed to a small number of users, its impact is relatively small and changes can be reversed quickly should the new code prove to be buggy.
Implementing a canary upgrade is useful for any distributed system that is supposed to be highly-available and to be always up and running. To date, however, current systems fail to implement canary upgrades on state-full systems.
There is thus a need for addressing these and/or other issues associated with the prior art.